package com.example.ivos.user.mapper;

import com.example.ivos.user.pojo.dto.UserQuery;
import com.example.ivos.user.pojo.entity.User;
import com.example.ivos.user.pojo.vo.UserVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**@Repository表明该类是一个数据访问层的组件，用于数据访问层的持久化操作
 * 可以让Spring框架自动管理此类对象，还能进行事务管理等服务 */
@Repository
public interface UserMapper {
    UserVO selectByUsername(String username);
    void insert(User user);
    List<UserVO> selectUser(UserQuery userQuery);

    void update(User user);

    void delete(Long userId);

    UserVO  selectAudit(@Param("parentId") Long parentId);

    UserVO selectById(Long userId);
}